The present disclosure relates to devices including field programmable gate arrays. A field programmable gate array (FPGA) is an integrated circuit that can be configured after manufacturing. It is a flexible device having a great number of potential configuration modes to interact with various other hardware and software designs (e.g., on a computer motherboard). The FPGA configuration is generally specified using a hardware description language, similar to that used for an application specific integrated circuit (ASIC). Generally speaking, an FPGA can be configured to implement most or all logic functions that an ASIC could execute, yet also can be at least partially reconfigured after shipping. Coupled with relatively low design costs typically associated with ASIC design, FPGAs offer significant advantages for a wide array of electronic devices and applications.
The FPGA architecture generally comprises a set of programmable logic components, or logic blocks, and reconfigurable interconnects for selectively connecting a subset of the logic blocks with other subsets thereof. Logic blocks can be configured to execute complex algorithms, or simple logic functions like AND, NAND, NOR, etc. Most FPGAs also include memory elements that can include flip-flops, memory registers, memory arrays, or the like.
Like most integrated circuits, design goals for the FPGA include reducing minimum component size, increasing calculation speed, lowering power consumption, and others. As more applications are found for these devices, demand for improved technology comes from many sectors. Although FPGAs were largely used exclusively in telecommunications and networking in early implementations, their versatility has found these devices implemented in other industries, consumer, automotive and industrial applications.
One recent development of the general FPGA architecture was to combine embedded microprocessors with the traditional logic blocks and interconnects of the FPGA. This development has lead to what are referred to as system-on-chip or system on programmable chip devices. Many examples of system-on-chip devices have emerged, generally combining processor and analog peripheral components with the FPGA architecture. The system-on-chip has enabled the miniaturization of microprocessors to achieve a new paradigm. However, as is typical with electronics technology, new paradigms very rapidly lead to applications requiring smaller, faster or lower power devices, generating new demand for research and development.